package com.ken.practice.model.controller;

import java.io.File;
import java.io.IOException;
import java.util.*;
import com.ken.practice.model.pojo.R;
import com.ken.practice.model.pojo.UserInfo;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;


/**
 * <ul>
 * <li>Title: UploadController</li>
 * <li>Description: TODO </li>
 * </ul>
 *
 * @author swc
 * @date 2021-08-23 14:32
 */

@RestController
public class UploadController {




  /*  *//***
     * 功能描述: 上传单个文件 并附带额外信息 可以
     * @param file
     * @param userInfo
     * @return: java.lang.String
     * @author: swc
     * @date: 2021-08-24 11:17
    *//*
    @PostMapping("/upload")
    //@ResponseBody
    public R upload(@RequestParam("file") MultipartFile file, UserInfo userInfo) {
        R r = new R(){};
        if (file.isEmpty()) {
            r.setSuccess(false);
            r.setMessage("上传失败，请选择文件");
            return r;
        }

        String fileName = file.getOriginalFilename();

        r.setSuccess(true);
        r.setMessage("上传成功!");

        return r;
    }*/

    /**
     * 文件上传测试接口 多个文件  如果返回的不是json 前端就会出错
     * @return
     */
    @PostMapping("/uploadMul")
    public R uploadMul(@RequestParam("file") MultipartFile[] file, UserInfo userInfo) {
        R r = new R(){};
        if (file==null ||file.length<=0) {
            r.setSuccess(false);
            r.setMessage("上传失败，请选择文件");
            return r;
        }

        for (int i = 0; i < file.length; i++) {
            System.out.println("文件名称:"+file[i].getOriginalFilename());
        }
        r.setSuccess(true);
        r.setMessage("上传成功!");
        return r;
    }

    /**
     * 文件上传测试接口
     * @return
     */
    @GetMapping("/list")
    public R list() {
        R r = new R(){};
        r.setSuccess(true);
        UserInfo userInfo ;
        List<UserInfo> list = new   ArrayList<UserInfo>();
        for (int i = 0; i < 50; i++) {
            userInfo = new UserInfo();
            userInfo.setAge(i+10);
            userInfo.setUserName("李"+(i+1)+"刀");
            list.add(userInfo);
        }
        r.setData(list);
        return r;
    }


}
